package com.numberone.system.mapper;

import com.numberone.system.domain.GoodsCollect;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 商品收藏 数据层
 * 
 * @author numberone
 * @date 2020-10-10
 */
public interface GoodsCollectMapper 
{
	/**
     * 查询商品收藏信息
     * 
     * @param id 商品收藏ID
     * @return 商品收藏信息
     */
	public GoodsCollect selectGoodsCollectById(Long id);
	
	/**
     * 查询商品收藏列表
     * 
     * @param goodsCollect 商品收藏信息
     * @return 商品收藏集合
     */
	public List<GoodsCollect> selectGoodsCollectList(GoodsCollect goodsCollect);
	
	/**
     * 新增商品收藏
     * 
     * @param goodsCollect 商品收藏信息
     * @return 结果
     */
	public int insertGoodsCollect(GoodsCollect goodsCollect);
	
	/**
     * 修改商品收藏
     * 
     * @param goodsCollect 商品收藏信息
     * @return 结果
     */
	public int updateGoodsCollect(GoodsCollect goodsCollect);
	
	/**
     * 删除商品收藏
     * 
     * @param id 商品收藏ID
     * @return 结果
     */
	public int deleteGoodsCollectById(Long id);
	
	/**
     * 批量删除商品收藏
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteGoodsCollectByIds(String[] ids);

	/**
	 * 获取收藏商品列表
	 * @param userId
	 * @param status
	 * @return
	 */
	public List<GoodsCollect> selectGoodsCollectListByStatus(@Param("userId") Long userId, @Param("status")Integer status);

	/**
	 * 判断是否收藏
	 * @param userId
	 * @param goodsId
	 * @return
	 */
	public int isCollect(@Param("userId")Long userId, @Param("goodsId")Long goodsId);

	/**
	 * 根据关键字搜索
	 * @param keyword
	 * @return
	 */
	public List<GoodsCollect> selectByKeyWord(@Param("userId")Long userId, @Param("keyword")String keyword);
}